﻿#define Expection

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Xml;
using UmcProvider.Controls;
using UmcProvider;

namespace ChinaTelecom.SmartPhone.Controls
{
#if Expection       //if reserve mode
    public interface IRadioButtonExpection : IUmc
    {
        string Name { get; }
        bool Enabled { get; }
        Size Size { get; }
        Point Location { get; }
        string Text { get; }
        Color BackColor { get; }
        Font Font { get; }
        Color ForeColor { get; }
        bool Checked { get; }
    }
    public interface IRadioButton : IRadioButtonExtension, IRadioButtonExpection { }
    [Designer(typeof(UmcDesigner<IRadioButton>))]
#else                  //if exclude mode
    //Add the Properties to be excluded here
    [ExcludeProperty]
    public interface IRadioButtonExculde :  IUmc
    {
    }
    public interface IRadioButton : IRadioButtonExtension, IRadioButtonExculde { }
    [Designer(typeof(UmcDesigner<RadioButton>))]
#endif
    [ToolboxBitmap(typeof(System.Windows.Forms.RadioButton), "RadioButton.bmp")]
    public sealed class RadioButton : System.Windows.Forms.RadioButton, IRadioButton
    {
    }

    //Add Extension Properties here , and Implement in Inheritance class
    public interface IRadioButtonExtension
    {
    }

    //public interface IRadioButton : IControl
    //{
    //    bool Checked { get; }
    //}
    public sealed class UmcRadioButton : DefaultConverter<UmcRadioButton, RadioButton>, IRadioButton
    {
        #region Hidden
        public bool Checked
        {
            get { throw new NotImplementedException(); }
        }

        public bool Enabled
        {
            get { throw new NotImplementedException(); }
        }

        public bool Visible
        {
            get { throw new NotImplementedException(); }
        }

        public System.Drawing.Size Size
        {
            get { throw new NotImplementedException(); }
        }

        public System.Drawing.Point Location
        {
            get { throw new NotImplementedException(); }
        }

        public string Text
        {
            get { throw new NotImplementedException(); }
        }

        public System.Drawing.Color BackColor
        {
            get { throw new NotImplementedException(); }
        }

        public System.Drawing.Font Font
        {
            get { throw new NotImplementedException(); }
        }

        public System.Drawing.Color ForeColor
        {
            get { throw new NotImplementedException(); }
        }

        public string Name
        {
            get { throw new NotImplementedException(); }
        }
        #endregion
    }
}
